package com.github.prontera.model.request;

import java.time.LocalDate;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.github.prontera.domain.ClientRent;
import com.github.prontera.util.converter.jackson.LocalDateToIso8601Serializer;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * @author Alex
 */
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = true)
public class RentRequest extends RestfulRequest {

	private static final long serialVersionUID = -3286520204644035655L;

	@JsonProperty("leaseTime")
	@ApiModelProperty(value = "出租时间", example = "白天")
	private String leaseTime;

	@JsonProperty("bwhBust")
	@ApiModelProperty(value = "胸围", example = "36")
	private String bwhBust;
	
	@JsonProperty("bwhWaist")
	@ApiModelProperty(value = "腰围", example = "36")
	private String bwhWaist;
	
	@JsonProperty("bwhHips")
	@ApiModelProperty(value = "臀围", example = "36")
	private String bwhHips;
	
	@JsonProperty("height")
	@ApiModelProperty(value = "身高", example = "36")
	private Double height;
	
	@JsonProperty("wechat")
	@ApiModelProperty(value = "微信", example = "1832149265")
	private String wechat;
	
	@JsonProperty("birthday")
	@ApiModelProperty(value = "生日", example = "2012-12-12")
	@JsonSerialize(using = LocalDateToIso8601Serializer.class)
    private LocalDate birthday;
	
	private List<ClientRent> rents;

	public LocalDate getBirthday() {
		return birthday;
	}

	public String getWechat() {
		return wechat;
	}

	public void setWechat(String wechat) {
		this.wechat = wechat;
	}

	public void setBirthday(LocalDate birthday) {
		this.birthday = birthday;
	}

	public Double getHeight() {
		return height;
	}

	public void setHeight(Double height) {
		this.height = height;
	}

	public String getLeaseTime() {
		return leaseTime;
	}

	public void setLeaseTime(String leaseTime) {
		this.leaseTime = leaseTime;
	}

	public String getBwhBust() {
		return bwhBust;
	}

	public void setBwhBust(String bwhBust) {
		this.bwhBust = bwhBust;
	}

	public String getBwhWaist() {
		return bwhWaist;
	}

	public void setBwhWaist(String bwhWaist) {
		this.bwhWaist = bwhWaist;
	}

	public String getBwhHips() {
		return bwhHips;
	}

	public void setBwhHips(String bwhHips) {
		this.bwhHips = bwhHips;
	}

	public List<ClientRent> getRents() {
		return rents;
	}

	public void setRents(List<ClientRent> rents) {
		this.rents = rents;
	}

}
